Chod hore
Predchádzajúca stránka Nasledujúca stránka Začiatok kapitoly Koniec kapitoly Začiatok kurzu Koniec kurzu


12.4 Znaky na obrazovke


Obrazovka môže byť v textovom alebo v grafickom móde. V textovom móde obvykle 8*8 bodov predstavuje jeden znak. Ak máme 25 riadkov a v každom riadku 80 znakov, potom v čierno-bielej verzii potrebujeme 80*25*8*8 = 128000 bit = 16000 Byte (cca. 165 kB) priestoru na uchovanie obsahu obrazovky. Štandardne máme 16 rôznych farieb na obrazovke - ich kódy sú 0 až 15. V Turbo Pascale máme definovanú pre každú farbu svoju konštantu (anglický názov danej farby):

0BlackČierna 8DarkGrayTmavosivá
1BlueModrá 9LightBlueSvetlomodrá
2GreenZelená 10LightGreenSvetlozelená
3CyanTyrkysová 11LightCyanSvetlotyrkysová
4RedČervená 12LightRedSvetločervená
5MagentaFialová 13LightMagentaSvetlofialová
6BrownHnedá 14YellowŽltá
7LightGraySvetlosivá 15WhiteBiela


Pre každý znak môžeme zadať farbu znaku, farbu pozadia a spôsob zobrazenia. Tieto údaje sú uložené v Byte attribútum:

  • 0-3. bit predstavuje farbu znaku a nastavuje sa pomocou procedúry TextColor(Farba). V tomto prípade prípustným sú všetky farby. Preddefinovanou farbou je svetlosivá.
  • 4-6. bit predstavuje farbu pozadia a nastavuje sa pomocou procedúry TextBackGround(Farba). V tomto prípade prípustným sú farby 0 až 7. Preddefinovanou farbou je čierna.
  • 7. bit ak je zapnutý, potom znak bliká inak nie. Preddefinovanou hodnotou je 0. Znak nebliká.


Tieto informácie sú uložené v konštante TextAttr jednotky Crt. Konštanta TextAttr má typ Byte. Zmeny môžeme vykonať aj bezprostredne zmenou tejto konštanty.

Ďalšími užitočnými funkciami sú:
WhereX - vracia aktuálnu X-ovú súradnicu kurzora.
WhereY - vracia aktuálnu Y-ovú súradnicu kurzora.

Ďalšími užitočnými procedúrami sú:
HighVideo - mení intenzitu farieb (z tmavých sa stanú svetlé).
LowVideo - mení intenzitu farieb (zo svetlých sa stanú tmavé).



12.5 Tvorba okien


Okno nie je nič iné ako zúženie obrazovky - obraz v obraze. V tomto prípade budú sa týkať príkazy tejto časti obrazovky. Definovať okno môžeme nasledujúcou procedúrou

Window(LaveHorneX,LaveHorneY,PraveDolneX,PraveDolneY) ;
Táto procedúra nastaví aktívne okno. Jej parametre sú typu Byte a predstavujú súradnice ľavého horného rohu a pravého dolného rohu aktévneho okna v absolútnych súradniciach celej obrazovky.

Jednotka Crt definuje dve konštanty, ktoré obsahujú súradnice aktívneho okna:

Var 
 WindMin, WindMax: Word ;


WindMin obsahuje súradnice ľavého horného rohu, kým WinMax - pravého dolného. Horný Byte (high) je Y-ová súradnica a dolný (low) - X-ová súradnica. Začína sa od 0.

  • Ľavý horný roh: (Lo(WindMin)+1,Hi(WindMin)+1)
  • Pravý dolný roh: (Lo(WindMax)+1,Hi(WindMax)+1)

Úloha
Definujme na svetlosivom podklade modré okno. Údaje si pýtajme v tomto okne. Na konci programu vráťme pôvodné farby!

Obr12_4